This invention relates generally to touchscreen displays and, more particularly, to a method for calibration of touchscreen coordinates to an underlying display.
Touchscreen displays have been widely used in computer terminal applications, such as with portable and hand-held computers and with informational and point-of-purchase terminals, eliminating the need for a mouse or keyboard for most data entry functions, for example. The touchscreen consists of a touch-sensitive panel, which reports the two-dimensional touchpoint location (that is, the X-Y coordinates) at which it has been touched, coupled to a display, which may show icons or buttons to be pressed for data entry. Proper operation of the touchscreen display requires a mapping of the touch-sensitive panel coordinates to corresponding points on the display. The process used to obtain this mapping is referred to as touchscreen display calibration.
Proper touchscreen calibration is necessary in order to determine the precise coordinates of the point at which the screen is touched. In most cases, icons or symbols on the touchscreen display are sized and spaced according to the relative size of the touching member (typically, either a finger or a stylus), allowing some tolerance for error. However, there can be instances where it is important that X-Y coordinates of a touch location be very closely pinpointed. Moreover, there can be instances where poor calibration can lead to inaccurate data entry or can cause a customer or employee to be misunderstood or frustrated by what seems to be incorrect or unintended response to a screen entry.
It should be noted that a touchscreen can employ one of a number of technologies using resistive, capacitive, acoustic frequency, or other types of signals. Typically, a touchscreen is implemented by adhering a touch-sensitive, substantially transparent film to the surface of a display monitor, such as a CRT. A touchscreen controller coupled with this film is adapted to sense touch and to indicate the position on the film at which contact is made. While there are a number of different types of touchscreens, the present invention is applicable to any technology used in the touchscreen arts for reporting the coordinates of a touch contact.
The term xe2x80x9ccalibrationxe2x80x9d, as used in the present invention, refers to the mapping that provides correct alignment of touch panel coordinates to display coordinates. This is in contrast to other types of measurement that are also called xe2x80x9ccalibrationxe2x80x9d in other contexts, such as methods for setting signal threshold sensitivity for touch detection, as in U.S. Pat. No. 6,016,140 (Blouin et al.) or methods for improving overall touchscreen accuracy to compensate for geometric touch-sensitive panel characteristics, such as in U.S. Pat. No. 5,804,773 (Wilson et al.)
In conventional touchscreen calibration, an operator is prompted to touch two or more reference points on the touchscreen. These points can then be used to calibrate the coordinates of the touch-sensitive panel to its underlying display. The actual coordinates at which the customer touches the screen for calibration provides one or more xe2x80x9ctouchpointsxe2x80x9d that serve as reference points for this positional calibration. The system stores these calibration touchpoints and performs any necessary scaling and coordinate adjustment based on these touchpoints.
In an effort to automate this conventional calibration sequence, U.S. Pat. No. 5,283,559 (Kalendra et al.) discloses an automated routine for calibration of a capacitive touchscreen. In the scheme disclosed in U.S. Pat. No. 5,283,559, fixed contacts are embedded in the surface of a touchscreen, positioned outside of the active video display area. These contacts can be periodically activated by touchscreen controller logic to emulate a touch, so that an automatic routine can make any necessary adjustment in X-Y coordinate mapping for the touchscreen. Such a system, however, must be configured when the touchscreen monitor is manufactured and may not be implemented in a particular touchscreen system. Moreover, this system does not directly map points on the actual display screen of a software application program to touch panel coordinates. The type of mapping provided in U.S. Pat. No. 5,283,559 only provides reference coordinates that map touch panel corners to extreme points on the display screen, at points offset from the active screen area controlled by the application software.
While conventional methods and attempts to automate conventional methods are capable of providing some measure of calibration accuracy, there is room for improvement. Field experience with kiosk-based systems that are operated by consumers or retail store employees indicates that a percentage of problems requiring service calls and complaints can be traced to poor touchscreen calibration. Factors such as individual operator tendencies, drift and component aging, parallax error, and manufacturing differences mean that calibration accuracy can vary from one site to another or even between two operators at the same site. In some cases, for example, the actual position of an expected reference point has been shown to be offset from the reference point as used by touchscreen controller logic for computation in the calibration routine. Alteration of the expected reference point is difficult to implement once a touchscreen monitor is shipped to the field.
Thus, it can be seen that there is a long-felt need for a touchscreen calibration method that adapts to manufacturing differences and to operator tendencies at a particular site, and that provides improved accuracy as a touchscreen monitor is used over time.
In accordance with one aspect of the present invention, there is provided a method for calibrating touchscreen display coordinates. The method comprises displaying at least one calibration target, the calibration target corresponding to a previously determined calibration reference point; sensing a calibration touch for at least one calibration target; obtaining a calibration touchpoint coordinate for the calibration touch; determining if the calibration touchpoint coordinate is valid; and if so, storing the calibration touchpoint coordinate in a touchpoint history database and using the calibration touchpoint coordinate to define a calibration reference point for operation, otherwise generating a computed reference calibration point using a predetermined number of calibration touchpoint coordinates in the touchpoint history database.
In accordance with another aspect of the present invention, there is provided a method for calibrating touchscreen display coordinates. The method comprises maintaining a touchpoint calibration history based on plurality of touchscreen calibration coordinates; receiving a calibration touchpoint coordinate corresponding to a calibration target; determining if the calibration touchpoint coordinate is valid; and if the calibration touchpoint coordinate is not valid, providing a computed reference calibration point based on the touchpoint calibration history.